import { createRouter, createWebHistory } from 'vue-router'
import { progress } from '@/utils/nprogress'
const routes = [
  { path: '/home', component: () => import('../components/home.vue'),meta: { title: '首页' } },
  // / 重定向到/home
  { path: '/', redirect: '/home' },
  { path: '/grid', component: () => import('../components/grid.vue'),meta: { title: '表格' } },
  { path: '/chart', component: () => import('../components/chart.vue'),meta: { title: '图表' } },
  { path: '/form', component: () => import('../components/form.vue'), meta: { title: '表单' } },
]
const router = createRouter({
  history: createWebHistory(),
  routes
})
// 路由前置守卫
router.beforeEach((to, from) => {
  // 开始进度条
  progress.start()
  
  // 设置页面标题
  // if (to.meta.title) {
  //   document.title = `${to.meta.title} - 我的应用`
  // }
  
  // 检查是否需要认证
  // if (to.meta.requiresAuth) {
  //   const token = localStorage.getItem('token')
  //   if (!token) {
  //     return {
  //       path: '/login',
  //       query: { redirect: to.fullPath }
  //     }
  //   }
  // }
})

// 路由后置守卫
router.afterEach((to, from) => {
  // 结束进度条
  progress.done()
  
  // 滚动到顶部
  window.scrollTo(0, 0)
})

// 路由错误处理
router.onError((error) => {
  progress.done()
  console.error('路由错误:', error)
})
export default router